#ifndef __XML_UTILS
#define __XML_UTILS
namespace xml
{
	class XmlUtils
	{
	public:
		static int state_matrix[7][7];
		enum _xmlParseStates
		{
			ROOT_OUT					= 0,
			SQUARE_BRACKET_IN			= 1,
			INSIDE_TAG					= 2,
			SQUARE_BRACKET_OUT			= 3,
			ROOT_IN						= 4,
			SLASH_INSIDE_TAG			= 5,
			ERROR						= 6,
			NUMBER_OF_STATES			= 7
		};

		enum _xmlParseInputs
		{
			SQUARE_BRACKET_OPEN			= 0,
			SQUARE_BRACKET_CLOSE		= 1,
			SLASH						= 2,
			ANY							= 3,
			WHITESPACE					= 4			
		};
		enum _xmlTokenTypes  //should never be used externaly
		{
			TAG,
			CONTENT,	
		};
	
		struct _xmlToken  //should never be used externaly
		{
			int type;
			char *ptr;
			_xmlToken();
			~_xmlToken();
		};
	};
}
#endif